home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Disc 1
/
Commodore_Disc_01_19xx_-_de.d64
/
adressen-reg. 64
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
7KB
|
217 lines
10 rem adressen-register ========64
20 rem (p) commodore welt team =
30 rem ============================
40 rem (c) by axel kohlmann =
50 rem =
60 rem version 2.1 40z/ascii =
70 rem vc-20 + 3k + 1530/1541 =
80 rem c-64 + 1530/1541/1571 =
90 rem ============================
100 goto370
110 gf$=chr$(034):y3$=chr$(162)
120 y5$=chr$(166):kl$=chr$(091)
130 u4$=chr$(191):ss$=chr$(047)
140 kr$=chr$(093)
150 sl$=chr$(014):c4$=chr$(017)
160 rn$=chr$(018):he$=chr$(019)
170 re$=chr$(028):c3$=chr$(029)
180 gr$=chr$(030):bl$=chr$(031)
190 s1$=chr$(032)
200 fa$=chr$(130):fb$=chr$(131)
210 bk$=chr$(144):c2$=chr$(145)
220 rf$=chr$(146):cl$=chr$(147)
230 pu$=chr$(156):c1$=chr$(157)
240 cy$=chr$(159)
250 s2$=chr$(160):s3$=chr$(224)
260 z1$=chr$(096):z2$=chr$(098)
270 z3$=chr$(123):z4$=chr$(171)
280 z5$=chr$(173):z6$=chr$(174)
290 z7$=chr$(176):z8$=chr$(177)
300 z9$=chr$(178):za$=chr$(179)
310 zb$=chr$(189):m1$=chr$(125)
320 d2$=c4$+c4$:d3$=d2$+c4$
330 d4$=d3$+d2$:d5$=d4$+c4$
340 d6$=d5$+c4$:d7$=d6$+c4$
350 d8$=d7$+c4$:d9$=d8$+c4$
360 return
370 rem ***************************
380 rem c-64 farbe blau/weiss *****
390 poke53280,6:poke53281,1
400 rem vc-20 farbe blau/weiss ****
410 rem poke36879,30
420 rem ***************************
430 gosub110:goto710
440 rem ******************* menue *
450 rem ************ dateneingabe *
460 z= 2030
470 printcl$d7$re$z7$;:fori=1to19:printz1$;:next:printz6$
480 printm1$" geben sie die "m1$
490 printm1$" einzelnen adress- "m1$
500 printm1$" angaben wie name, "m1$
510 printm1$"strasse, wohnort..."m1$
520 printm1$"jeweils durch einen"m1$
530 printm1$" schraegstrich "gf$ss$gf$m1$
540 printm1$" voneinander "m1$
550 printm1$" getrennt ein. "m1$
560 printm1$" die erste angabe "m1$
570 printm1$" ist entscheidend "m1$
580 printm1$" fuer suchen&sort. "m1$
590 printm1$" "m1$
600 printm1$" zur funktionswahl "m1$
610 printm1$" "rn$"return"rf$"-taste "m1$
620 printz5$;:fori=1to19:printz1$;:next:printzb$
630 printhe$bl$rn$" geben sie daten ein "rf$:l3$=c1$+c1$+c1$
640 iffre(0)<900then970
650 printu4$l3$;:inputf$
660 iff$=u4$then710
670 printcl$d3$;z;"data ";f$
680 print"460 z=";z+10:print"goto100"
690 poke631,13:poke632,13:poke633,13:poke198,3:printhe$:end
700 rem ******************* menue *
710 printcl$" "re$rn$" "rf$
720 print" "rn$"adressen-register "rf$
730 print" "rn$" "rf$
740 print" "rn$"(c) axel kohlmann "rf$
750 print" "rn$" "rf$
760 printhe$d6$bk$" funktionswahl":print
770 printre$rn$;:fori=1to20:printy3$;:next:printrf$:print
780 printbk$" druecke:":print
790 print" "rn$"1"rf$" dateneingabe"
800 print" "rn$"2"rf$" datenausgabe"
810 print" "rn$"3"rf$" sortierung "
820 print" "rn$"4"rf$" adressen suchen"
830 print" "rn$"5"rf$" adressaenderung"
840 print" "rn$"6"rf$" programmende"
845 print" "rn$"7"rf$" abspeichern tape"
846 print" "rn$"8"rf$" abspeichern disk"
850 geta$:ifa$=""then850
860 onval(a$)goto460,1530,1030,1360,1840,1920,1950,1996
870 goto850
880 rem *** s feld von b$ trennen *
890 dimn$(n):fori=0ton
900 ll=0
910 ll=ll+1
920 ifll=len(b$(i))+1then950
930 ifmid$(b$(i),ll,1)="/"then950
940 n$(i)=n$(i)+mid$(b$(i),ll,1):goto910
950 next
960 return
970 printc4$bl$" kein speicherplatz mehr verfuegbar!"
980 fori=1to2000:next:goto710
990 printpu$rn$c2$c2$" drucker einschalten!! und zur "rf$;
1000 printrn$" bestaetigung return-taste druecken "rf$
1010 printhe$d4$" "rn$"drucker"rf$
1020 poke198,0:wait198,1:printd3$" ok!":return
1030 h4$=h4$+c2$+c2$+c2$+c2$+c2$+c2$
1040 printh4$" "pu$rn$"sortierung "rf$:printd6$" "rn$"bitte etwas geduld "
1050 n=1:gosub1060:goto1080
1060 reada$:if a$="****"thenrestore:n=n-1:return
1070 n=n+1:goto1060
1080 n=n-1:dimb$(n):forx=0ton:readb$(x):next:restore:gosub890
1090 printcl$:gosub1100:goto1110
1100 printhe$re$rn$"alphabetische sortierung der namen "rf$:return
1110 fori=0ton-1:k=i
1120 forj=i+1ton
1130 ifn$(j)<n$(k)thenk=j
1140 nextj
1150 x$=n$(k):n$(k)=n$(i):n$(i)=x$
1160 nexti
1170 f$=c4$:l=1
1180 fori=1ton:gosub1270:printff$;n$(i):l=l+1:ifl=17thengosub1510
1190 gosub1100:ff$=ff$+f$:
1200 fork=1to300:nextk
1210 next
1220 :printff$re$rn$"alle namen sortiert! "rf$;
1230 printpu$rn$"ok? return --> ende"rf$;
1240 poke198,0:wait198,1
1250 ifpeek(631)<>13then1240
1260 poke198,0:clr:gosub110:goto710
1270 as=asc(n$(i))-64
1280 onasgoto1300,1310,1320,1330,1340,1350
1290 as=as-6:goto1280
1300 printcy$;:return
1310 printre$;:return
1320 printbk$;:return
1330 printpu$;:return
1340 printgr$;:return
1350 printbl$;:return
1360 printc2$c2$c2$c2$c2$" "pu$rn$"adressen suchen"rf$
1370 printd5$" "rn$"bitte etwas geduld"rf$
1380 gosub1060:dimb$(n):fork=0ton:readb$(k):next:gosub890
1390 printcl$re$rn$" suchen einer adresse (return-->ende) "rf$
1400 printd3$re$"name: ";
1410 printy5$c1$c1$c1$;:inputna$:ifna$=y5$then1490
1420 fork=0ton:ifna$=n$(k)thenk2=k:goto1460
1430 next
1440 printd3$re$" die adresse ist nicht gespeichert "
1450 forlt=1to2000:next:goto1390
1460 j=k2:k2=1:gosub1670:printre$rn$"ok? --> taste druecken"rf$
1470 poke198,0:wait198,1:poke198,0
1480 goto1390
1490 clr:gosub110:goto710
1500 goto2000
1510 l=1:printc4$re$rn$"weiter? taste druecken"rf$;:poke198,0:wait198,1
1520 printcl$:gosub1100:ff$="":return
1530 printcl$re$rn$"ausgabe aller adressen"rf$
1540 printd2$bk$" ausgabegeraet:"
1550 printc4$" "rn$"1"rf$" drucker"
1560 print" "rn$"2"rf$" bildschirm"
1570 printd5$re$rn$" bitte waehlen! "rf$
1580 getd$:ifd$=""then1580
1590 onval(d$)goto1610,1620
1600 goto1580
1610 ag=4:gosub990:open4,4:gosub1650:close4:restore:clr:gosub110:goto710
1620 printhe$pu$d5$" "rn$"bildschirm"rf$d5$
1630 print" "c2$c2$c2$c2$
1640 ag=3:gosub1650:restore:clr:gosub110:goto710
1650 gosub1060:dimb$(n+1):forj=1ton+1
1660 readb$(j)
1670 forc=0to7:c$(c)=" ":nextc
1680 i=0:c=1
1690 i=i+1
1700 ifi=len(b$(j))+1then1730
1710 ifmid$(b$(j),i,1)="/"thenc=c+1:goto1690
1720 c$(c)=c$(c)+mid$(b$(j),i,1):goto1690
1730 ifk2>0thengosub1810:return
1740 gosub1780:next
1750 printre$rn$" ok? ende --> return "rf$
1760 poke198,0:wait198,1:ifpeek(631)=13thenreturn
1770 goto1760
1780 ifag=4thengoto1830
1790 bi=bi+1:ifbi=2thenbi=0:printre$rn$"weiter? taste druecken!"rf$;
1800 poke198,0:wait198,1:printcl$
1810 forc=0to7:printbk$c1$c$(c):nextc:return
1820 rem ********* drucker output *
1830 forc=0to7:print#4," ";c$(c):next:return
1840 printcl$re$rn$" adressenaenderung "rf$;
1850 printrn$"(angaben hinter den datas aendern und dann"rf$;
1860 printrn$" programm erneut mit "rf$"run"rn$" starten) "rf$;
1870 printrn$"ctrl-taste zum verlangsamen von list "rf$
1880 printd3$"list2000- : "kl$"return"kr$"
1890 [129]k[178]1[164]2000:[130]:[151]631,13:[151]198,1
1900 [153]he$d6$:[128]
1910 [137]710
1920 v[178] 1
1930 [153]cl$d3$"1920 v=";v[170]1:[153]"v=";v;":goto1890"
1940 [151]631,13:[151]632,13:[151]198,2:[153]he$:[128]
1950 [141]110:[153]cl$re$rn$"kassette einlegen und"rf$
1960 [153]rn$"die taste rec + play "rf$
1970 [153]rn$"druecken ! "rf$
1980 [153]he$d6$"save"gf$"adressen";v;gf$
1990 [151]631,13:[151]632,13:[151]198,2:[153]he$d3$bk$:[128]
1995 [141]110:[137]710
1996 [153]cl$d6$"save"gf$"@:adressen";v;gf$;",8"
1997 [153]he$:[153]d3$bk$:[128]
2000 [131] commodore welt/redaktion/postfach1107/d-8044 lohhof
2005 [131] commodore/bueromaschinen gmbh/lyoner strasse 38/d-6000 frankfurt 71
2010 [131] commodore/bueromaschinen gmbh/kinsky strasse 40-44/a-1232 wien
9900 [131]"****"
9910 [143] adressen-register ======64
9920 [143] 038911 bytes memory ===
9930 [143] 006499 bytes program ===
9940 [143] 000343 bytes variables ===
9950 [143] 000000 bytes arrays ===
9960 [143] 000090 bytes strings ===
9970 [143] 031979 bytes free (0) ===
9980 [143] ==========================